export enum TroopType {
  CAVALRY = 'cavalry',    // 骑兵
  SHIELD = 'shield',      // 盾兵
  ARCHER = 'archer',      // 弓兵
  SPEAR = 'spear'        // 枪兵
}

export enum DamageType {
  Physical = 'physical',  // 物理伤害
  Strategy = 'strategy',   // 谋略伤害
  None = 'none'
}

export enum SkillType {
  Active = 'active',      // 主动技能
  Passive = 'passive'     // 被动技能
}

export enum FormationType {
  JI_XING = 'jiXing',    // 箕形阵
  YAN_XING = 'yanXing',  // 雁行阵
  YI_ZI = 'yiZi'         // 一字阵
}

export interface Attributes {
  intelligence: number;   // 智力
  power: number;         // 武力
  leadership: number;    // 统率
  initiative: number;    // 先攻
}

export interface Effect {
  type: string;
  value: number;
  duration: number;
  stackable?: boolean;
}

export interface SkillTarget {
  type: 'single' | 'multiple' | 'all';
  count?: number;
  targetType: 'ally' | 'enemy';
}

export interface FormationConfig {
  probabilities: number[];    // 受伤概率分布
  frontReduction: number;     // 前排减伤
  backBonus: number;         // 后排增伤
  positions: number[];       // 可用位置
}

export interface FormationEffect {
  damageReduction: number;   // 伤害减免
  damageBonus: number;      // 伤害加成
  targetProbability: number; // 被选为目标的概率
}
